1. Field of the Invention
This invention relates to a Walsh code generator for generating codewords of the Walsh code, a signal transmission apparatus for transmitting signals modulated using the Walsh code generated by the Walsh code generator and a signal reception apparatus for receiving and demodulating transmission signals from the signal transmission apparatus.
2. Description of the Related Art
When transmitting data of plural channels in a sole frequency band, the conventional practice is to use divisional data multiplexing. Among known systems for doing such divisional data multiplexing, there are a frequency division multiplexing (FDM) system, a time divisional multiplexing (TDM) system, and a code divisional multiplexing (CDM) system.
With the CDM system, layered data each having a different data rate are weighted for allowing identification of respective layers and orthogonally transformed using a transform code spread in the same time-frequency space for demarcating respective channels. Error correction is carried out by convolution coding and punctured coding using variable encoding rates for respective channels for effecting layered transmission depending on data criticality. This CDM system enables easier layered transmission than other divisional multiplexing systems. In the field of mobile communication, call capacity can be enhanced as compared with that of other divisional multiplexing systems by combining the CDM system with the spread-spectrum system by direct spreading.
Thus, in the field of broadcasting, it has been envisaged to put this CDM system to practical utilization as a transmission system for digital video signals. In the field of mobile communication, this CDM system is used in the code divisional multiplexing connection system, or a so-called CDMA cellular telephone system, for demarcating each orthogonally coded channel into a control channel and a traffic channel.
As the orthogonal code of the CDM system, it is contemplated to use the Walsh code.
This Walsh code is a code in which an optional codeword is orthogonal to a codeword other than itself. With the Walsh code, the code may be found by expansion of the number of orders, with each row of the Hadamard matrix as a codeword. Specifically, with a Hadamard matrix H, a codeword may be found by expansion of the order number shown in Table 1:
TABLE 1 ______________________________________ H.sub.0 = [0] ##STR1## ##STR2## . . . . . . ##STR3## ______________________________________
Thus the code W for N=3, for example, are as follows:
TABLE 2 ______________________________________ W.sub.0 = 00 00 00 00 W.sub.1 = 01 01 01 01 W.sub.2 = 00 11 00 11 W.sub.3 = 01 10 01 10 W.sub.4 = 00 00 11 11 W.sub.5 = 01 01 10 10 W.sub.6 = 00 11 11 00 W.sub.7 = 01 10 10 01 ______________________________________
Instead of by expanding the number of orders of the Hadamard matrix, the Walsh code may be found by the following method:
First, the codeword number in case a codeword W of the Walsh code is represented by the binary number and a binary count specifying the bit number in the codeword in binary representation are defined. If the codeword number and the binary count are represented by i and b, respectively, the codeword number i and the binary count b are represented by the following equations (1) and (2), respectively: EQU i={i.sub.0, i.sub.1, i.sub.2 } (1) EQU b={b.sub.0, b.sub.1, b.sub.2 } (2)
As for the codeword number i and the binary count b, the 0'th bit is the least significant bit (LSB) and the second bit is the most significant bit (MSB).
The bits of respective digits of the codeword W.sub.i are represented by the following equation (3): EQU W.sub.i ={W.sub.i0, W.sub.i1, W.sub.i2, W.sub.i3, W.sub.i4, W.sub.i5, W.sub.i6, W.sub.i7 } (3)
The bits of the respective digits of the codeword W.sub.i correspond to values obtained on Ex-ORing the result of product of the respective digits and may be represented by the following equation (4): ##EQU1## where .circle-w/dot. denotes Ex-OR.
That is, the bits of the respective digits may be represented by the equations of Table 3:
TABLE 3 ______________________________________ W.sub.i0 = i.sub.0 .multidot. 0 .circle-w/dot. i.sub.1 .multidot. 0 .circle-w/dot. i.sub.2 .multidot. 0 W.sub.i1 = i.sub.0 .multidot. 1 .circle-w/dot. i.sub.1 .multidot. 0 .circle-w/dot. i.sub.2 .multidot. 0 W.sub.i2 = i.sub.0 .multidot. 0 .circle-w/dot. i.sub.1 .multidot. 1 .circle-w/dot. i.sub.2 .multidot. 0 W.sub.i3 = i.sub.0 .multidot. 1 .circle-w/dot. i.sub.1 .multidot. 1 .circle-w/dot. i.sub.2 .multidot. 0 W.sub.i4 = i.sub.0 .multidot. 0 .circle-w/dot. i.sub.1 .multidot. 0 .circle-w/dot. i.sub.2 .multidot. 1 W.sub.i5 = i.sub.0 .multidot. 1 .circle-w/dot. i.sub.1 .multidot. 0 .circle-w/dot. i.sub.2 .multidot. 1 W.sub.i6 = i.sub.0 .multidot. 0 .circle-w/dot. i.sub.1 .multidot. 1 .circle-w/dot. i.sub.2 .multidot. 1 W.sub.i7 = i.sub.0 .multidot. 1 .circle-w/dot. i.sub.1 .multidot. 1 .circle-w/dot. i.sub.2 .multidot. 1 ______________________________________
For i=5, since i={1, 0, 1}, the codeword W.sub.5 may be represented by the following equations shown in Table 4:
TABLE 4 ______________________________________ W.sub.50 = 1 .multidot. 0 .circle-w/dot. 0 .multidot. 0 .circle-w/dot. 1 .multidot. 0 = 0 W.sub.51 = 1 .multidot. 1 .circle-w/dot. 0 .multidot. 0 .circle-w/dot. 1 .multidot. 0 = 1 W.sub.52 = 1 .multidot. 0 .circle-w/dot. 0 .multidot. 1 .circle-w/dot. 1 .multidot. 0 = 0 W.sub.53 = 1 .multidot. 1 .circle-w/dot. 0 .multidot. 1 .circle-w/dot. 1 .multidot. 0 = 1 W.sub.54 = 1 .multidot. 0 .circle-w/dot. 0 .multidot. 0 .circle-w/dot. 1 .multidot. 1 = 1 W.sub.55 = 1 .multidot. 1 .circle-w/dot. 0 .multidot. 0 .circle-w/dot. 1 .multidot. 1 = 0 W.sub.56 = 1 .multidot. 0 .circle-w/dot. 0 .multidot. 1 .circle-w/dot. 1 .multidot. 1 = 1 W.sub.57 = 1 .multidot. 1 .circle-w/dot. 0 .multidot. 1 .circle-w/dot. 1 .multidot. 1 = 0 ______________________________________
Thus the codeword W.sub.5 may be found from the following equation (5): ##EQU2##
Referring to FIG. 1, Walsh code generator for generating a codeword of the Walsh code is explained.
Clock signals are supplied to a signal input terminal 101 and thence supplied to a n-bit binary counter 103. These clock signals are of an operating frequency corresponding to the bit rate of the codeword to be outputted. The binary counter 103 is controlled on the basis of these clock signals. An n-bit count signal is outputted by this binary counter 103 and supplied to a Walsh code generator 104.
On the other hand, a codeword number of the Walsh code, that is, a Walsh number, is supplied from a signal input terminal 102, and supplied to a Walsh code generator 104. Using the n-bit count signal and the n-bit signal representing the Walsh number, the Walsh code generator 104 serially output s the codeword of the Walsh code bit-by-bit. The Walsh code bit, thus outputted, is termed a Walsh c hip .
An illustrative structure of the Walsh code generator 104 is shown in FIG. 2, in which the n-bit count signal entering the Walsh code generator 104 and the n-bit signal representing the Walsh number are sent to AND gates 111.sub.1 to 111.sub.n) bit-by-bit, beginning from the LSB side bit. These AND gates 111.sub.1 to 111.sub.n take the products of the count signal and the signal representing the Walsh number and output the resulting products. All product outputs of the respective binary digits are Ex-ORed by Ex-OR gates 112.sub.1 to 112.sub.n-1 and the results of Ex-OR operations are outputted bit-by-bit as bits making up the codeword of the Walsh code. This output represents the Walsh chip.
Meanwhile, the above-described Walsh code generator serially outputs bits making up a codeword of the Walsh code bit-by-bit. Thus the binary counter 103 controlling the codeword bit of the Walsh code to be outputted needs to be operated at a high speed corresponding to the required speed times the number of bits making up the codeword of the Walsh code. Thus, in mobile communication in which signal modulation is by using the codeword of the Walsh code generated by the above-described Walsh code generator, such as a portable terminal, it is difficult to reduce the operating frequency.